package com.dy.其他.杨辉三角;

import java.util.ArrayList;
import java.util.List;

/*

给定一个非负整数 numRows，生成杨辉三角的前 numRows 行。



在杨辉三角中，每个数是它左上方和右上方的数的和。

示例:

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]
 */
public class Solution {
    public static  List<List<Integer>> generate(int numRows) {

        List<List<Integer>> list = new ArrayList<>();
        if(numRows==0) return list;
        List<Integer> row = new ArrayList<>();
        row.add(1);
        list.add(row);
        for(int i =1;i<numRows;i++){
            row = list.get(i-1);
            List<Integer> thisRow = new ArrayList<>();
            thisRow.add(1);
            for(int j =1;j<i;j++){
                thisRow.add(row.get(j-1)+row.get(j));
            }
            thisRow.add(1);
            list.add(thisRow);
        }
        return list;
    }
}
